﻿Imports System.Text
Imports Microsoft.VisualStudio.TestTools.UnitTesting

Imports Logistica.Core
Imports Logistica.Entities

<TestClass()> Public Class ProductoTest

    <TestMethod()> Public Sub ListarProductoTest()
        Dim listado As List(Of ProductoBE) = Producto.Listar

        Assert.IsNotNull(listado)
        Assert.IsTrue(listado.Count > 0)
    End Sub


    <TestMethod()>
    Public Sub RegistrarProductoTest()
        Dim infoProducto As New ProductoBE With {.Nombre = "Producto 99"}
        Dim idRegistro As Integer = Producto.Registrar(infoProducto)

        Assert.IsTrue(idRegistro > 0)
    End Sub

    <TestMethod()>
    Public Sub ActualizarProductoTest()
        Dim infoProducto As New ProductoBE With {.Id = 1, .Descripcion = "Descripcion 001"}
        Dim idRegistro As Integer = Producto.Registrar(infoProducto)

        Dim productoActualizado As ProductoBE = Producto.Obtener(infoProducto)

        Assert.AreEqual(idRegistro, productoActualizado.Id)
    End Sub


    <TestMethod()>
    Public Sub EliminarProductoTest()
        Dim infoProducto As New ProductoBE With {.Id = 3}
        Producto.Eliminar(infoProducto)

        Dim productoEliminado As ProductoBE = Producto.Obtener(infoProducto)

        Assert.IsTrue(productoEliminado.IsEmpty)
    End Sub


    <TestMethod()>
    Public Sub RegistrarMovimientoTest()
        Dim infoMovimientoProducto As New MovimientoProductoBE With {.IdProducto = 2, .IdTipoMovimiento = 2, .Cantidad = 100}
        Dim codigoRegistro As Integer = Producto.RegistrarMovimiento(infoMovimientoProducto)

        Assert.IsTrue(codigoRegistro > 0)
    End Sub





End Class